package com.demo.java.OD1_50.OD35;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【DNA 序列】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145558122
 */
public class OdMain {

    // solveMethod 计算并输出 GC 比例最高的子串
    public static void solveMethod(String input, int length) {
        double max = 0.0;  // 保存最大 GC 比例
        String res = "";  // 保存具有最大 GC 比例的子串

        // 遍历所有可能的子串
        for (int i = 0; i < input.length() - length + 1; ++i) {
            String str1 = input.substring(i, length + i);  // 获取长度为 'length' 的子串
            String str2 = str1.replaceAll("[^CG]", "");  // 去除非 C 或 G 的字符，得到 GC 字符串
            double x = str2.length() * 1.0 / str1.length();  // 计算 GC 比例

            // 更新最大 GC 比例的子串
            if (x > max) {
                res = str1;
                max = x;
                if (1.0 == x) {  // 如果 GC 比例为 1，直接结束
                    break;
                }
            }
        }
        System.out.println(res);  // 输出最大 GC 比例的子串
    }

    // main 方法，读取输入并调用 solveMethod 进行计算
    public static void main(String[] args) {
        try {
            Scanner s = new Scanner(System.in);
            String input = s.nextLine();  // 读取 DNA 序列
            int length = Integer.parseInt(s.nextLine());  // 读取子串长度
            solveMethod(input, length);  // 调用方法进行计算
        } catch (Exception e) {
            e.printStackTrace();  // 异常处理
        }
    }
}